package Controles;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.IOException;
import java.io.PrintWriter;
import java.util.LinkedList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import modelos.Usuario;

/**
 *
 * @author diegoarmandocontrerashernandez
 */
@WebServlet(name = "ControlAdminUsuario", urlPatterns = {"/ControlAdminUsuario"})
public class ControlAdminUsuario extends HttpServlet {

  HttpServletResponse thisResponse;
  HttpServletRequest thisRequest;
  PrintWriter out;
  Usuario usuario = new Usuario();

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
 
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }
    
       
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        ServletContext context;      
        String test=request.getParameter("metodo");
        if(test.equals("actualizar")){
            actualizar(request.getParameter("nombre"), request.getParameter("usuario"),
            request.getParameter("contacto") , request.getParameter("contrasena") ,request.getParameter("direccion"), request.getParameter("viejo"));
        }else{
        String url="/jsp/adminUsuario.jsp";
        request.setAttribute("informacion", llenarTabla());
        RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(url);
        dispatcher.forward(request, response);
        }
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
    
    public void actualizar(String nombre, String usuarioN, String contacto, String contrasena, String direccion, String viejo ){
        usuario.actualizar(nombre, usuarioN, contrasena, contacto, direccion, viejo);
    }
    
    public String llenarTabla(){
        
        LinkedList usuarios;
        String username, nombre, contacto, direccion, parametros, contrasena;
        int i = 0, tamanio = 0, j = 0;
        String respuesta = new String();
        
        //control = new ControlAdminUsuario();
        usuarios = usuario.getNombres();
        tamanio = usuarios.size();
        
        while (i < tamanio){
            if(j == 0){
               respuesta +=("<tr>"); 
               respuesta +=("<td>");
               respuesta +=("<p>");
               respuesta +=(usuarios.get(i).toString());
               respuesta +=("</p>");
               respuesta +=("</td>");
            }else if (j == 1){
                respuesta +=("<td>");
                respuesta +=("<p>");
                respuesta +=(usuarios.get(i).toString());
                nombre = usuarios.get(i - 1).toString();
                username = usuarios.get(i).toString();
                contacto = usuarios.get(i + 1).toString();
                contrasena = usuarios.get(i + 2).toString();
                direccion = usuarios.get(i + 3).toString();
                respuesta +=("</p>");
                respuesta +=("</td>");
                respuesta +=("<td>");
                parametros = "'"+nombre+"'"+","+"'"+ username+"'"+","+"'"+ contacto+"'"+","+"'"+ contrasena+"'" +","+"'"+direccion+"'";
                respuesta +=("<img border=0 onClick =\"appearStuff("+parametros+")\" src=\"lapiz.png\" id = \"lapiz\" style=\"max-width: 30px; max-height: 30px\">");
                respuesta +=("</td>");
                respuesta +=("<td>");   
                respuesta +=("</td>");
                respuesta +=("</tr>");
            }
            if(j == 4)
                j = 0;
            else
                j++;
            i++; 
        }
        
        return respuesta;
    }
    
}